A data processing apparatus may be capable of receiving values in a floating point format and be capable of generating a sum of floating point input values, for example as an accumulation operation. However, an issue which arises with respect to performing such floating point addition is that it is generally not associative. In other words, the result of summing three or more floating point values depends on the order in which the additions are performed. Small values added to large values may have no effect, so programmers may choose to sum small values first. Similarly the result of summing positive and negative floating point values depends on the order of summation. If large values are expected to cancel, small values may be summed last. Floating point numbers have an encoding which on the one hand is beneficial because it enables a very large range of values to be represented, but on the other hand makes it almost inevitable that there will be a loss of accuracy when multiple floating point values are summed and that this loss will be different depending on the order in which the values are summed. Such non-deterministic outcomes for calculations are typically rather undesirable in the context of data processing, yet inspection and sorting the input values before summation also adds complexity to the data processing apparatus carrying out such summation and moreover slows down the process. Alternatively, to limit the precision of the final sum, such that any variation due to the summation order is hidden below the precision of the output sum to achieve a deterministic final sum is also undesirable in the context of high precision floating point numbers.